package ${package.Service};

import ${package.Entity}.${entity};
import ${package.Entity?remove_ending(".po")}.vo.Get${entity?remove_ending("PO")}ListVO;
import ${package.Entity?remove_ending(".po")}.dto.Save${entity?remove_ending("PO")}DTO;
import ${package.Entity?remove_ending(".po")}.dto.DeleteCommonDTO;
import ${superServiceClassPackage};
import ${package.Entity?remove_ending(".entity.po")}.common.vo.FilteredParameter;
import ${package.Entity?remove_ending(".entity.po")}.common.vo.RespVO;

import java.util.List;

/**
 * <p>
 * ${table.comment!} 服务类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {

    /**
     * 查${table.comment!}列表
     *
     * @param dto 筛选
     * @return 用户列表
     */
    RespVO<List<Get${entity?remove_ending("PO")}ListVO>> get${entity?remove_ending("PO")}List(FilteredParameter dto);


    /**
     * ${table.comment!}新增
     *
     * @param dto 更新信息入参
     * @return 操作结果
     */
    RespVO<Object> add${entity?remove_ending("PO")}(Save${entity?remove_ending("PO")}DTO dto);

    /**
     * ${table.comment!}修改
     *
     * @param dto 更新信息入参
     * @return 操作结果
     */
    RespVO<Object> update${entity?remove_ending("PO")}(Save${entity?remove_ending("PO")}DTO dto);

    /**
     * 新增或修改${table.comment!}信息
     *
     * @param dto 更新信息入参
     * @return 修改结果
     */
    RespVO<Object> save${entity?remove_ending("PO")}(Save${entity?remove_ending("PO")}DTO dto);

    /**
     * ${table.comment!}删除
     *
     * @param dto 删除ID集合
     * @return 操作结果
     */
    RespVO<Object> removes${entity?remove_ending("PO")}(DeleteCommonDTO dto);
}
 </#if>
